
-- --------------------------------------------------
-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure
-- --------------------------------------------------
-- Date Created: 08/11/2012 17:37:25
-- Generated from EDMX file: C:\PFC\audipyme\AudiPyme\AudiPyme.DAL\Modelo.edmx
-- --------------------------------------------------

SET QUOTED_IDENTIFIER OFF;
GO
USE [hermitage];
GO
IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');
GO

-- --------------------------------------------------
-- Dropping existing FOREIGN KEY constraints
-- --------------------------------------------------

IF OBJECT_ID(N'[dbo].[FK_ControlesObjetivosControl]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ControlesEstablecer] DROP CONSTRAINT [FK_ControlesObjetivosControl];
GO
IF OBJECT_ID(N'[dbo].[FK_ObjetivosControlDominios]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ObjetivosControlEstablecer] DROP CONSTRAINT [FK_ObjetivosControlDominios];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_TipoActivosAmenazasCriteriosRiesgoCriteriosRiesgo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer] DROP CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoCriteriosRiesgo];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_TipoActivosAmenazasCriteriosRiesgoTiposActivos]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer] DROP CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoTiposActivos];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_TiposActivosVulnerabilidadesTiposActivos]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer] DROP CONSTRAINT [FK_Matriz_TiposActivosVulnerabilidadesTiposActivos];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_TiposActivosVulnerabilidadesVulnerabilidades]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer] DROP CONSTRAINT [FK_Matriz_TiposActivosVulnerabilidadesVulnerabilidades];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_AmenazasVulnerabilidadesVulnerabilidades]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer] DROP CONSTRAINT [FK_Matriz_AmenazasVulnerabilidadesVulnerabilidades];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_TipoActivosAmenazasCriteriosRiesgoAmenazas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer] DROP CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoAmenazas];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_AmenazasVulnerabilidadesAmenazas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer] DROP CONSTRAINT [FK_Matriz_AmenazasVulnerabilidadesAmenazas];
GO
IF OBJECT_ID(N'[dbo].[FK_ActivosEmpresaEmpresas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ActivosEmpresaEstablecer] DROP CONSTRAINT [FK_ActivosEmpresaEmpresas];
GO
IF OBJECT_ID(N'[dbo].[FK_ActivosEmpresaTiposActivos]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ActivosEmpresaEstablecer] DROP CONSTRAINT [FK_ActivosEmpresaTiposActivos];
GO
IF OBJECT_ID(N'[dbo].[FK_InstanciaTiposActivosAmenazasCriteriosRiesgoEmpresas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer] DROP CONSTRAINT [FK_InstanciaTiposActivosAmenazasCriteriosRiesgoEmpresas];
GO
IF OBJECT_ID(N'[dbo].[FK_InstanciaTiposActivosVulnerabilidadesEmpresas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer] DROP CONSTRAINT [FK_InstanciaTiposActivosVulnerabilidadesEmpresas];
GO
IF OBJECT_ID(N'[dbo].[FK_UsuariosEmpresas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[UsuariosEstablecer] DROP CONSTRAINT [FK_UsuariosEmpresas];
GO
IF OBJECT_ID(N'[dbo].[FK_TiposAmenazasAmenazas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[AmenazasEstablecer] DROP CONSTRAINT [FK_TiposAmenazasAmenazas];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_Amenazas_ControlesControles]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_Amenazas_ControlesEstablecer] DROP CONSTRAINT [FK_Matriz_Amenazas_ControlesControles];
GO
IF OBJECT_ID(N'[dbo].[FK_AmenazasMatriz_Amenazas_Controles]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[Matriz_Amenazas_ControlesEstablecer] DROP CONSTRAINT [FK_AmenazasMatriz_Amenazas_Controles];
GO
IF OBJECT_ID(N'[dbo].[FK_TipoEmpresaEmpresas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EmpresasEstablecer] DROP CONSTRAINT [FK_TipoEmpresaEmpresas];
GO
IF OBJECT_ID(N'[dbo].[FK_TipoEmpresaPesoSectorTipoEmpresa]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PesoSectorTipoEmpresaEstablecer] DROP CONSTRAINT [FK_TipoEmpresaPesoSectorTipoEmpresa];
GO
IF OBJECT_ID(N'[dbo].[FK_PesoCifraNegocioTipoEmpresa]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PesoCifraNegocioEstablecer] DROP CONSTRAINT [FK_PesoCifraNegocioTipoEmpresa];
GO
IF OBJECT_ID(N'[dbo].[FK_PesoPreguntasTICPreguntasTIC]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PesoPreguntasTICEstablecer] DROP CONSTRAINT [FK_PesoPreguntasTICPreguntasTIC];
GO
IF OBJECT_ID(N'[dbo].[FK_PesoPreguntasTICTipoEmpresa]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PesoPreguntasTICEstablecer] DROP CONSTRAINT [FK_PesoPreguntasTICTipoEmpresa];
GO
IF OBJECT_ID(N'[dbo].[FK_SectoresPesoSectorTipoEmpresa]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PesoSectorTipoEmpresaEstablecer] DROP CONSTRAINT [FK_SectoresPesoSectorTipoEmpresa];
GO
IF OBJECT_ID(N'[dbo].[FK_SectoresPesoCifraNegocio]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PesoCifraNegocioEstablecer] DROP CONSTRAINT [FK_SectoresPesoCifraNegocio];
GO
IF OBJECT_ID(N'[dbo].[FK_SectoresPesoPreguntasTIC]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PesoPreguntasTICEstablecer] DROP CONSTRAINT [FK_SectoresPesoPreguntasTIC];
GO
IF OBJECT_ID(N'[dbo].[FK_SectoresEmpresas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EmpresasEstablecer] DROP CONSTRAINT [FK_SectoresEmpresas];
GO
IF OBJECT_ID(N'[dbo].[FK_ControlesControlesEmpresa]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ControlesEmpresaEstablecer] DROP CONSTRAINT [FK_ControlesControlesEmpresa];
GO
IF OBJECT_ID(N'[dbo].[FK_ControlesEmpresaEmpresas]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ControlesEmpresaEstablecer] DROP CONSTRAINT [FK_ControlesEmpresaEmpresas];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_TipoActivosAmenazasCriteriosRiesgoInstanciaTiposActivosAmenazasCriteriosRiesgo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer] DROP CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoInstanciaTiposActivosAmenazasCriteriosRiesgo];
GO
IF OBJECT_ID(N'[dbo].[FK_Matriz_TiposActivosVulnerabilidadesInstanciaTiposActivosVulnerabilidades]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer] DROP CONSTRAINT [FK_Matriz_TiposActivosVulnerabilidadesInstanciaTiposActivosVulnerabilidades];
GO
IF OBJECT_ID(N'[dbo].[FK_AmenazasAnalisisRiesgo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[AnalisisRiesgoEstablecer] DROP CONSTRAINT [FK_AmenazasAnalisisRiesgo];
GO
IF OBJECT_ID(N'[dbo].[FK_ActivosEmpresaAnalisisRiesgo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[AnalisisRiesgoEstablecer] DROP CONSTRAINT [FK_ActivosEmpresaAnalisisRiesgo];
GO
IF OBJECT_ID(N'[dbo].[FK_ControlesAnalisisRiesgo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[AnalisisRiesgoEstablecer] DROP CONSTRAINT [FK_ControlesAnalisisRiesgo];
GO
IF OBJECT_ID(N'[dbo].[FK_AnalisisRiesgoPlanMejora]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PlanMejoraEstablecer] DROP CONSTRAINT [FK_AnalisisRiesgoPlanMejora];
GO
IF OBJECT_ID(N'[dbo].[FK_ActivosEmpresaActivosInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ActivosInformeEstablecer] DROP CONSTRAINT [FK_ActivosEmpresaActivosInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InformesActivosInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ActivosInformeEstablecer] DROP CONSTRAINT [FK_InformesActivosInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InformesAnalisisRiesgo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[AnalisisRiesgoEstablecer] DROP CONSTRAINT [FK_InformesAnalisisRiesgo];
GO
IF OBJECT_ID(N'[dbo].[FK_ControlesEmpresaControlesEmpresaInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ControlesEmpresaInformeEstablecer] DROP CONSTRAINT [FK_ControlesEmpresaControlesEmpresaInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InformesControlesEmpresaInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[ControlesEmpresaInformeEstablecer] DROP CONSTRAINT [FK_InformesControlesEmpresaInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InstanciaTiposActivosAmenazasCriteriosRiesgoInstanciaTipactAmenCritriesgInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer] DROP CONSTRAINT [FK_InstanciaTiposActivosAmenazasCriteriosRiesgoInstanciaTipactAmenCritriesgInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InformesInstanciaTipactAmenCritriesgInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer] DROP CONSTRAINT [FK_InformesInstanciaTipactAmenCritriesgInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InstanciaTiposActivosVulnerabilidadesInstanciaTipactVulnInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTipactVulnInformeEstablecer] DROP CONSTRAINT [FK_InstanciaTiposActivosVulnerabilidadesInstanciaTipactVulnInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InformesInstanciaTipactVulnInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[InstanciaTipactVulnInformeEstablecer] DROP CONSTRAINT [FK_InformesInstanciaTipactVulnInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_EmpresasEmpresaInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EmpresaInformeEstablecer] DROP CONSTRAINT [FK_EmpresasEmpresaInforme];
GO
IF OBJECT_ID(N'[dbo].[FK_InformesEmpresaInforme]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EmpresaInformeEstablecer] DROP CONSTRAINT [FK_InformesEmpresaInforme];
GO

-- --------------------------------------------------
-- Dropping existing tables
-- --------------------------------------------------

IF OBJECT_ID(N'[dbo].[EmpresasEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EmpresasEstablecer];
GO
IF OBJECT_ID(N'[dbo].[ControlesEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[ControlesEstablecer];
GO
IF OBJECT_ID(N'[dbo].[ObjetivosControlEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[ObjetivosControlEstablecer];
GO
IF OBJECT_ID(N'[dbo].[DominiosEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[DominiosEstablecer];
GO
IF OBJECT_ID(N'[dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer];
GO
IF OBJECT_ID(N'[dbo].[CriteriosRiesgoEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[CriteriosRiesgoEstablecer];
GO
IF OBJECT_ID(N'[dbo].[Matriz_AmenazasVulnerabilidadesEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer];
GO
IF OBJECT_ID(N'[dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer];
GO
IF OBJECT_ID(N'[dbo].[TiposActivosEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[TiposActivosEstablecer];
GO
IF OBJECT_ID(N'[dbo].[VulnerabilidadesEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[VulnerabilidadesEstablecer];
GO
IF OBJECT_ID(N'[dbo].[AmenazasEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[AmenazasEstablecer];
GO
IF OBJECT_ID(N'[dbo].[TiposAmenazasEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[TiposAmenazasEstablecer];
GO
IF OBJECT_ID(N'[dbo].[ActivosEmpresaEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[ActivosEmpresaEstablecer];
GO
IF OBJECT_ID(N'[dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer];
GO
IF OBJECT_ID(N'[dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer];
GO
IF OBJECT_ID(N'[dbo].[sysdiagrams]', 'U') IS NOT NULL
    DROP TABLE [dbo].[sysdiagrams];
GO
IF OBJECT_ID(N'[dbo].[UsuariosEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[UsuariosEstablecer];
GO
IF OBJECT_ID(N'[dbo].[Matriz_Amenazas_ControlesEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[Matriz_Amenazas_ControlesEstablecer];
GO
IF OBJECT_ID(N'[dbo].[TipoEmpresaEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[TipoEmpresaEstablecer];
GO
IF OBJECT_ID(N'[dbo].[PesoSectorTipoEmpresaEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[PesoSectorTipoEmpresaEstablecer];
GO
IF OBJECT_ID(N'[dbo].[PesoCifraNegocioEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[PesoCifraNegocioEstablecer];
GO
IF OBJECT_ID(N'[dbo].[PreguntasTICEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[PreguntasTICEstablecer];
GO
IF OBJECT_ID(N'[dbo].[PesoPreguntasTICEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[PesoPreguntasTICEstablecer];
GO
IF OBJECT_ID(N'[dbo].[SectoresEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[SectoresEstablecer];
GO
IF OBJECT_ID(N'[dbo].[ControlesEmpresaEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[ControlesEmpresaEstablecer];
GO
IF OBJECT_ID(N'[dbo].[AnalisisRiesgoEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[AnalisisRiesgoEstablecer];
GO
IF OBJECT_ID(N'[dbo].[PlanMejoraEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[PlanMejoraEstablecer];
GO
IF OBJECT_ID(N'[dbo].[InformesEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[InformesEstablecer];
GO
IF OBJECT_ID(N'[dbo].[ActivosInformeEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[ActivosInformeEstablecer];
GO
IF OBJECT_ID(N'[dbo].[ControlesEmpresaInformeEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[ControlesEmpresaInformeEstablecer];
GO
IF OBJECT_ID(N'[dbo].[InstanciaTipactAmenCritriesgInformeEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer];
GO
IF OBJECT_ID(N'[dbo].[InstanciaTipactVulnInformeEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[InstanciaTipactVulnInformeEstablecer];
GO
IF OBJECT_ID(N'[dbo].[EmpresaInformeEstablecer]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EmpresaInformeEstablecer];
GO

-- --------------------------------------------------
-- Creating all tables
-- --------------------------------------------------

-- Creating table 'EmpresasEstablecer'
CREATE TABLE [dbo].[EmpresasEstablecer] (
    [IdEmpresa] int IDENTITY(1,1) NOT NULL,
    [Nombre] nvarchar(max)  NOT NULL,
    [IdSector] int  NOT NULL,
    [IdTipoEmpresa] int  NOT NULL,
    [Facturacion] int  NULL,
    [MadurezActual] int  NULL,
    [MadurezDeseada] int  NULL,
    [PesoSector] float  NULL,
    [PesoNegocio] float  NULL,
    [PesoTIC] float  NULL,
    [NumEmpleados] int  NOT NULL,
    [RespuestasTIC] nvarchar(max)  NULL
);
GO

-- Creating table 'ControlesEstablecer'
CREATE TABLE [dbo].[ControlesEstablecer] (
    [IdControl] int IDENTITY(1,1) NOT NULL,
    [IdObjControl] int  NOT NULL,
    [Codigo] nvarchar(max)  NOT NULL,
    [Nombre] nvarchar(max)  NOT NULL,
    [Descripcion] nvarchar(max)  NULL,
    [NivelMadurez] int  NOT NULL
);
GO

-- Creating table 'ObjetivosControlEstablecer'
CREATE TABLE [dbo].[ObjetivosControlEstablecer] (
    [IdObjControl] int IDENTITY(1,1) NOT NULL,
    [Codigo] nvarchar(max)  NOT NULL,
    [Nombre] nvarchar(max)  NOT NULL,
    [IdDominio] int  NOT NULL
);
GO

-- Creating table 'DominiosEstablecer'
CREATE TABLE [dbo].[DominiosEstablecer] (
    [IdDominios] int IDENTITY(1,1) NOT NULL,
    [Codigo] nvarchar(max)  NOT NULL,
    [Nombre] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer'
CREATE TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer] (
    [IdTipoActivo] int  NOT NULL,
    [IdAmenaza] int  NOT NULL,
    [IdCriterioRiesgo] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'CriteriosRiesgoEstablecer'
CREATE TABLE [dbo].[CriteriosRiesgoEstablecer] (
    [IdCriterioRiesgo] int IDENTITY(1,1) NOT NULL,
    [Codigo] nvarchar(max)  NOT NULL,
    [CriterioRiesgo] nvarchar(max)  NOT NULL,
    [Descripcion] nvarchar(max)  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'Matriz_AmenazasVulnerabilidadesEstablecer'
CREATE TABLE [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer] (
    [IdAmenaza] int  NOT NULL,
    [IdVulnerabilidad] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'Matriz_TiposActivosVulnerabilidadesEstablecer'
CREATE TABLE [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer] (
    [IdTipoActivo] int  NOT NULL,
    [IdVulnerabilidad] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'TiposActivosEstablecer'
CREATE TABLE [dbo].[TiposActivosEstablecer] (
    [IdTipoActivo] int IDENTITY(1,1) NOT NULL,
    [TipoActivo] nvarchar(max)  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'VulnerabilidadesEstablecer'
CREATE TABLE [dbo].[VulnerabilidadesEstablecer] (
    [IdVulnerabilidad] int IDENTITY(1,1) NOT NULL,
    [Vulnerabilidad] nvarchar(max)  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'AmenazasEstablecer'
CREATE TABLE [dbo].[AmenazasEstablecer] (
    [IdAmenaza] int IDENTITY(1,1) NOT NULL,
    [Amenaza] nvarchar(max)  NOT NULL,
    [IdTipoAmenaza] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'TiposAmenazasEstablecer'
CREATE TABLE [dbo].[TiposAmenazasEstablecer] (
    [IdTipoAmenaza] int IDENTITY(1,1) NOT NULL,
    [TipoAmenaza] nvarchar(max)  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'ActivosEmpresaEstablecer'
CREATE TABLE [dbo].[ActivosEmpresaEstablecer] (
    [IdActivo] int IDENTITY(1,1) NOT NULL,
    [IdEmpresa] int  NOT NULL,
    [IdTipoActivo] int  NOT NULL,
    [Nombre] nvarchar(max)  NOT NULL,
    [Descripcion] nvarchar(max)  NOT NULL,
    [CosteActivo] int  NOT NULL,
    [ValorEstrategico] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer'
CREATE TABLE [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer] (
    [IdEmpresa] int  NOT NULL,
    [IdTipoActivo] int  NOT NULL,
    [IdAmenaza] int  NOT NULL,
    [IdCriterioRiesgo] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'InstanciaTiposActivosVulnerabilidadesEstablecer'
CREATE TABLE [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer] (
    [IdEmpresa] int  NOT NULL,
    [IdTipoActivo] int  NOT NULL,
    [IdVulnerabilidad] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'sysdiagrams'
CREATE TABLE [dbo].[sysdiagrams] (
    [name] nvarchar(128)  NOT NULL,
    [principal_id] int  NOT NULL,
    [diagram_id] int IDENTITY(1,1) NOT NULL,
    [version] int  NULL,
    [definition] varbinary(max)  NULL
);
GO

-- Creating table 'UsuariosEstablecer'
CREATE TABLE [dbo].[UsuariosEstablecer] (
    [id] int IDENTITY(1,1) NOT NULL,
    [Nombre] nvarchar(max)  NOT NULL,
    [Password] nvarchar(max)  NOT NULL,
    [Empresa] int  NULL
);
GO

-- Creating table 'Matriz_Amenazas_ControlesEstablecer'
CREATE TABLE [dbo].[Matriz_Amenazas_ControlesEstablecer] (
    [IdAmenaza] int  NOT NULL,
    [IdControl] int  NOT NULL,
    [Actual] bit  NOT NULL
);
GO

-- Creating table 'TipoEmpresaEstablecer'
CREATE TABLE [dbo].[TipoEmpresaEstablecer] (
    [IdTipoEmpresa] int IDENTITY(1,1) NOT NULL,
    [NombreTipoEmpresa] nvarchar(max)  NOT NULL,
    [MinEmpleados] int  NOT NULL,
    [MaxEmpleados] int  NOT NULL
);
GO

-- Creating table 'PesoSectorTipoEmpresaEstablecer'
CREATE TABLE [dbo].[PesoSectorTipoEmpresaEstablecer] (
    [IdPesoSectorTipoEmpresa] int IDENTITY(1,1) NOT NULL,
    [IdSector] int  NOT NULL,
    [IdCNAE] int  NOT NULL,
    [IdTipoEmpresa] int  NOT NULL,
    [Peso] float  NOT NULL
);
GO

-- Creating table 'PesoCifraNegocioEstablecer'
CREATE TABLE [dbo].[PesoCifraNegocioEstablecer] (
    [IdPesoCifraNegocio] int IDENTITY(1,1) NOT NULL,
    [IdSector] int  NOT NULL,
    [IdCNAE] int  NOT NULL,
    [IdTipoEmpresa] int  NOT NULL,
    [Valor] int  NOT NULL
);
GO

-- Creating table 'PreguntasTICEstablecer'
CREATE TABLE [dbo].[PreguntasTICEstablecer] (
    [IdPregunta] int IDENTITY(1,1) NOT NULL,
    [Descripcion] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'PesoPreguntasTICEstablecer'
CREATE TABLE [dbo].[PesoPreguntasTICEstablecer] (
    [IdPesoPreguntasTIC] int IDENTITY(1,1) NOT NULL,
    [IdSector] int  NOT NULL,
    [IdCNAE] int  NOT NULL,
    [IdTipoEmpresa] int  NOT NULL,
    [IdPregunta] int  NOT NULL,
    [Peso] float  NOT NULL
);
GO

-- Creating table 'SectoresEstablecer'
CREATE TABLE [dbo].[SectoresEstablecer] (
    [IdSector] int IDENTITY(1,1) NOT NULL,
    [IdCNAE] int  NOT NULL,
    [NombreSector] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'ControlesEmpresaEstablecer'
CREATE TABLE [dbo].[ControlesEmpresaEstablecer] (
    [IdControl] int  NOT NULL,
    [IdEmpresa] int  NOT NULL,
    [Valor] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'AnalisisRiesgoEstablecer'
CREATE TABLE [dbo].[AnalisisRiesgoEstablecer] (
    [IdInforme] int  NOT NULL,
    [IdActivo] int  NOT NULL,
    [IdControl] int  NOT NULL,
    [IdAmenaza] int  NOT NULL,
    [Riesgo] int  NOT NULL
);
GO

-- Creating table 'PlanMejoraEstablecer'
CREATE TABLE [dbo].[PlanMejoraEstablecer] (
    [IdInforme] int  NOT NULL,
    [IdActivo] int  NOT NULL,
    [IdAmenaza] int  NOT NULL,
    [IdControl] int  NOT NULL,
    [Orden] int  NOT NULL
);
GO

-- Creating table 'InformesEstablecer'
CREATE TABLE [dbo].[InformesEstablecer] (
    [IdInforme] int IDENTITY(1,1) NOT NULL,
    [Fecha] datetime  NOT NULL,
    [TipoInforme] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'ActivosInformeEstablecer'
CREATE TABLE [dbo].[ActivosInformeEstablecer] (
    [IdInforme] int  NOT NULL,
    [IdActivo] int  NOT NULL,
    [CosteActivoInforme] int  NOT NULL,
    [ValorEstrategicoInforme] int  NOT NULL
);
GO

-- Creating table 'ControlesEmpresaInformeEstablecer'
CREATE TABLE [dbo].[ControlesEmpresaInformeEstablecer] (
    [IdInforme] int  NOT NULL,
    [IdControl] int  NOT NULL,
    [IdEmpresa] int  NOT NULL,
    [ValorInforme] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'InstanciaTipactAmenCritriesgInformeEstablecer'
CREATE TABLE [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer] (
    [IdInforme] int  NOT NULL,
    [IdTipoActivo] int  NOT NULL,
    [IdAmenaza] int  NOT NULL,
    [IdCriterioRiesgo] int  NOT NULL,
    [IdEmpresa] int  NOT NULL
);
GO

-- Creating table 'InstanciaTipactVulnInformeEstablecer'
CREATE TABLE [dbo].[InstanciaTipactVulnInformeEstablecer] (
    [IdInforme] int  NOT NULL,
    [IdTipoActivo] int  NOT NULL,
    [IdVulnerabilidad] int  NOT NULL,
    [IdEmpresa] int  NOT NULL
);
GO

-- Creating table 'EmpresaInformeEstablecer'
CREATE TABLE [dbo].[EmpresaInformeEstablecer] (
    [IdEmpresa] int  NOT NULL,
    [IdInforme] int  NOT NULL,
    [FacturacionInf] int  NOT NULL,
    [MadurezActualInf] int  NOT NULL,
    [MadurezDeseadaInf] int  NOT NULL,
    [PesoSectorInf] float  NOT NULL,
    [PesoNegocioInf] float  NOT NULL,
    [PesoTICInf] float  NOT NULL,
    [NumEmpleadosInf] int  NOT NULL
);
GO

-- --------------------------------------------------
-- Creating all PRIMARY KEY constraints
-- --------------------------------------------------

-- Creating primary key on [IdEmpresa] in table 'EmpresasEstablecer'
ALTER TABLE [dbo].[EmpresasEstablecer]
ADD CONSTRAINT [PK_EmpresasEstablecer]
    PRIMARY KEY CLUSTERED ([IdEmpresa] ASC);
GO

-- Creating primary key on [IdControl] in table 'ControlesEstablecer'
ALTER TABLE [dbo].[ControlesEstablecer]
ADD CONSTRAINT [PK_ControlesEstablecer]
    PRIMARY KEY CLUSTERED ([IdControl] ASC);
GO

-- Creating primary key on [IdObjControl] in table 'ObjetivosControlEstablecer'
ALTER TABLE [dbo].[ObjetivosControlEstablecer]
ADD CONSTRAINT [PK_ObjetivosControlEstablecer]
    PRIMARY KEY CLUSTERED ([IdObjControl] ASC);
GO

-- Creating primary key on [IdDominios] in table 'DominiosEstablecer'
ALTER TABLE [dbo].[DominiosEstablecer]
ADD CONSTRAINT [PK_DominiosEstablecer]
    PRIMARY KEY CLUSTERED ([IdDominios] ASC);
GO

-- Creating primary key on [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] in table 'Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
ADD CONSTRAINT [PK_Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
    PRIMARY KEY CLUSTERED ([IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] ASC);
GO

-- Creating primary key on [IdCriterioRiesgo] in table 'CriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[CriteriosRiesgoEstablecer]
ADD CONSTRAINT [PK_CriteriosRiesgoEstablecer]
    PRIMARY KEY CLUSTERED ([IdCriterioRiesgo] ASC);
GO

-- Creating primary key on [IdAmenaza], [IdVulnerabilidad] in table 'Matriz_AmenazasVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer]
ADD CONSTRAINT [PK_Matriz_AmenazasVulnerabilidadesEstablecer]
    PRIMARY KEY CLUSTERED ([IdAmenaza], [IdVulnerabilidad] ASC);
GO

-- Creating primary key on [IdTipoActivo], [IdVulnerabilidad] in table 'Matriz_TiposActivosVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer]
ADD CONSTRAINT [PK_Matriz_TiposActivosVulnerabilidadesEstablecer]
    PRIMARY KEY CLUSTERED ([IdTipoActivo], [IdVulnerabilidad] ASC);
GO

-- Creating primary key on [IdTipoActivo] in table 'TiposActivosEstablecer'
ALTER TABLE [dbo].[TiposActivosEstablecer]
ADD CONSTRAINT [PK_TiposActivosEstablecer]
    PRIMARY KEY CLUSTERED ([IdTipoActivo] ASC);
GO

-- Creating primary key on [IdVulnerabilidad] in table 'VulnerabilidadesEstablecer'
ALTER TABLE [dbo].[VulnerabilidadesEstablecer]
ADD CONSTRAINT [PK_VulnerabilidadesEstablecer]
    PRIMARY KEY CLUSTERED ([IdVulnerabilidad] ASC);
GO

-- Creating primary key on [IdAmenaza] in table 'AmenazasEstablecer'
ALTER TABLE [dbo].[AmenazasEstablecer]
ADD CONSTRAINT [PK_AmenazasEstablecer]
    PRIMARY KEY CLUSTERED ([IdAmenaza] ASC);
GO

-- Creating primary key on [IdTipoAmenaza] in table 'TiposAmenazasEstablecer'
ALTER TABLE [dbo].[TiposAmenazasEstablecer]
ADD CONSTRAINT [PK_TiposAmenazasEstablecer]
    PRIMARY KEY CLUSTERED ([IdTipoAmenaza] ASC);
GO

-- Creating primary key on [IdActivo] in table 'ActivosEmpresaEstablecer'
ALTER TABLE [dbo].[ActivosEmpresaEstablecer]
ADD CONSTRAINT [PK_ActivosEmpresaEstablecer]
    PRIMARY KEY CLUSTERED ([IdActivo] ASC);
GO

-- Creating primary key on [IdEmpresa], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] in table 'InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer]
ADD CONSTRAINT [PK_InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer]
    PRIMARY KEY CLUSTERED ([IdEmpresa], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] ASC);
GO

-- Creating primary key on [IdEmpresa], [IdTipoActivo], [IdVulnerabilidad] in table 'InstanciaTiposActivosVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer]
ADD CONSTRAINT [PK_InstanciaTiposActivosVulnerabilidadesEstablecer]
    PRIMARY KEY CLUSTERED ([IdEmpresa], [IdTipoActivo], [IdVulnerabilidad] ASC);
GO

-- Creating primary key on [diagram_id] in table 'sysdiagrams'
ALTER TABLE [dbo].[sysdiagrams]
ADD CONSTRAINT [PK_sysdiagrams]
    PRIMARY KEY CLUSTERED ([diagram_id] ASC);
GO

-- Creating primary key on [id] in table 'UsuariosEstablecer'
ALTER TABLE [dbo].[UsuariosEstablecer]
ADD CONSTRAINT [PK_UsuariosEstablecer]
    PRIMARY KEY CLUSTERED ([id] ASC);
GO

-- Creating primary key on [IdAmenaza], [IdControl] in table 'Matriz_Amenazas_ControlesEstablecer'
ALTER TABLE [dbo].[Matriz_Amenazas_ControlesEstablecer]
ADD CONSTRAINT [PK_Matriz_Amenazas_ControlesEstablecer]
    PRIMARY KEY CLUSTERED ([IdAmenaza], [IdControl] ASC);
GO

-- Creating primary key on [IdTipoEmpresa] in table 'TipoEmpresaEstablecer'
ALTER TABLE [dbo].[TipoEmpresaEstablecer]
ADD CONSTRAINT [PK_TipoEmpresaEstablecer]
    PRIMARY KEY CLUSTERED ([IdTipoEmpresa] ASC);
GO

-- Creating primary key on [IdPesoSectorTipoEmpresa] in table 'PesoSectorTipoEmpresaEstablecer'
ALTER TABLE [dbo].[PesoSectorTipoEmpresaEstablecer]
ADD CONSTRAINT [PK_PesoSectorTipoEmpresaEstablecer]
    PRIMARY KEY CLUSTERED ([IdPesoSectorTipoEmpresa] ASC);
GO

-- Creating primary key on [IdPesoCifraNegocio] in table 'PesoCifraNegocioEstablecer'
ALTER TABLE [dbo].[PesoCifraNegocioEstablecer]
ADD CONSTRAINT [PK_PesoCifraNegocioEstablecer]
    PRIMARY KEY CLUSTERED ([IdPesoCifraNegocio] ASC);
GO

-- Creating primary key on [IdPregunta] in table 'PreguntasTICEstablecer'
ALTER TABLE [dbo].[PreguntasTICEstablecer]
ADD CONSTRAINT [PK_PreguntasTICEstablecer]
    PRIMARY KEY CLUSTERED ([IdPregunta] ASC);
GO

-- Creating primary key on [IdPesoPreguntasTIC] in table 'PesoPreguntasTICEstablecer'
ALTER TABLE [dbo].[PesoPreguntasTICEstablecer]
ADD CONSTRAINT [PK_PesoPreguntasTICEstablecer]
    PRIMARY KEY CLUSTERED ([IdPesoPreguntasTIC] ASC);
GO

-- Creating primary key on [IdSector] in table 'SectoresEstablecer'
ALTER TABLE [dbo].[SectoresEstablecer]
ADD CONSTRAINT [PK_SectoresEstablecer]
    PRIMARY KEY CLUSTERED ([IdSector] ASC);
GO

-- Creating primary key on [IdControl], [IdEmpresa] in table 'ControlesEmpresaEstablecer'
ALTER TABLE [dbo].[ControlesEmpresaEstablecer]
ADD CONSTRAINT [PK_ControlesEmpresaEstablecer]
    PRIMARY KEY CLUSTERED ([IdControl], [IdEmpresa] ASC);
GO

-- Creating primary key on [IdInforme], [IdActivo], [IdControl], [IdAmenaza] in table 'AnalisisRiesgoEstablecer'
ALTER TABLE [dbo].[AnalisisRiesgoEstablecer]
ADD CONSTRAINT [PK_AnalisisRiesgoEstablecer]
    PRIMARY KEY CLUSTERED ([IdInforme], [IdActivo], [IdControl], [IdAmenaza] ASC);
GO

-- Creating primary key on [IdInforme], [IdActivo], [IdAmenaza], [IdControl], [Orden] in table 'PlanMejoraEstablecer'
ALTER TABLE [dbo].[PlanMejoraEstablecer]
ADD CONSTRAINT [PK_PlanMejoraEstablecer]
    PRIMARY KEY CLUSTERED ([IdInforme], [IdActivo], [IdAmenaza], [IdControl], [Orden] ASC);
GO

-- Creating primary key on [IdInforme] in table 'InformesEstablecer'
ALTER TABLE [dbo].[InformesEstablecer]
ADD CONSTRAINT [PK_InformesEstablecer]
    PRIMARY KEY CLUSTERED ([IdInforme] ASC);
GO

-- Creating primary key on [IdInforme], [IdActivo] in table 'ActivosInformeEstablecer'
ALTER TABLE [dbo].[ActivosInformeEstablecer]
ADD CONSTRAINT [PK_ActivosInformeEstablecer]
    PRIMARY KEY CLUSTERED ([IdInforme], [IdActivo] ASC);
GO

-- Creating primary key on [IdInforme], [IdControl] in table 'ControlesEmpresaInformeEstablecer'
ALTER TABLE [dbo].[ControlesEmpresaInformeEstablecer]
ADD CONSTRAINT [PK_ControlesEmpresaInformeEstablecer]
    PRIMARY KEY CLUSTERED ([IdInforme], [IdControl] ASC);
GO

-- Creating primary key on [IdInforme], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] in table 'InstanciaTipactAmenCritriesgInformeEstablecer'
ALTER TABLE [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer]
ADD CONSTRAINT [PK_InstanciaTipactAmenCritriesgInformeEstablecer]
    PRIMARY KEY CLUSTERED ([IdInforme], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] ASC);
GO

-- Creating primary key on [IdInforme], [IdTipoActivo], [IdVulnerabilidad] in table 'InstanciaTipactVulnInformeEstablecer'
ALTER TABLE [dbo].[InstanciaTipactVulnInformeEstablecer]
ADD CONSTRAINT [PK_InstanciaTipactVulnInformeEstablecer]
    PRIMARY KEY CLUSTERED ([IdInforme], [IdTipoActivo], [IdVulnerabilidad] ASC);
GO

-- Creating primary key on [IdEmpresa], [IdInforme] in table 'EmpresaInformeEstablecer'
ALTER TABLE [dbo].[EmpresaInformeEstablecer]
ADD CONSTRAINT [PK_EmpresaInformeEstablecer]
    PRIMARY KEY CLUSTERED ([IdEmpresa], [IdInforme] ASC);
GO

-- --------------------------------------------------
-- Creating all FOREIGN KEY constraints
-- --------------------------------------------------

-- Creating foreign key on [IdObjControl] in table 'ControlesEstablecer'
ALTER TABLE [dbo].[ControlesEstablecer]
ADD CONSTRAINT [FK_ControlesObjetivosControl]
    FOREIGN KEY ([IdObjControl])
    REFERENCES [dbo].[ObjetivosControlEstablecer]
        ([IdObjControl])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ControlesObjetivosControl'
CREATE INDEX [IX_FK_ControlesObjetivosControl]
ON [dbo].[ControlesEstablecer]
    ([IdObjControl]);
GO

-- Creating foreign key on [IdDominio] in table 'ObjetivosControlEstablecer'
ALTER TABLE [dbo].[ObjetivosControlEstablecer]
ADD CONSTRAINT [FK_ObjetivosControlDominios]
    FOREIGN KEY ([IdDominio])
    REFERENCES [dbo].[DominiosEstablecer]
        ([IdDominios])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ObjetivosControlDominios'
CREATE INDEX [IX_FK_ObjetivosControlDominios]
ON [dbo].[ObjetivosControlEstablecer]
    ([IdDominio]);
GO

-- Creating foreign key on [IdCriterioRiesgo] in table 'Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
ADD CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoCriteriosRiesgo]
    FOREIGN KEY ([IdCriterioRiesgo])
    REFERENCES [dbo].[CriteriosRiesgoEstablecer]
        ([IdCriterioRiesgo])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_Matriz_TipoActivosAmenazasCriteriosRiesgoCriteriosRiesgo'
CREATE INDEX [IX_FK_Matriz_TipoActivosAmenazasCriteriosRiesgoCriteriosRiesgo]
ON [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
    ([IdCriterioRiesgo]);
GO

-- Creating foreign key on [IdTipoActivo] in table 'Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
ADD CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoTiposActivos]
    FOREIGN KEY ([IdTipoActivo])
    REFERENCES [dbo].[TiposActivosEstablecer]
        ([IdTipoActivo])
    ON DELETE CASCADE ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdTipoActivo] in table 'Matriz_TiposActivosVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer]
ADD CONSTRAINT [FK_Matriz_TiposActivosVulnerabilidadesTiposActivos]
    FOREIGN KEY ([IdTipoActivo])
    REFERENCES [dbo].[TiposActivosEstablecer]
        ([IdTipoActivo])
    ON DELETE CASCADE ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdVulnerabilidad] in table 'Matriz_TiposActivosVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer]
ADD CONSTRAINT [FK_Matriz_TiposActivosVulnerabilidadesVulnerabilidades]
    FOREIGN KEY ([IdVulnerabilidad])
    REFERENCES [dbo].[VulnerabilidadesEstablecer]
        ([IdVulnerabilidad])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_Matriz_TiposActivosVulnerabilidadesVulnerabilidades'
CREATE INDEX [IX_FK_Matriz_TiposActivosVulnerabilidadesVulnerabilidades]
ON [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer]
    ([IdVulnerabilidad]);
GO

-- Creating foreign key on [IdVulnerabilidad] in table 'Matriz_AmenazasVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer]
ADD CONSTRAINT [FK_Matriz_AmenazasVulnerabilidadesVulnerabilidades]
    FOREIGN KEY ([IdVulnerabilidad])
    REFERENCES [dbo].[VulnerabilidadesEstablecer]
        ([IdVulnerabilidad])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_Matriz_AmenazasVulnerabilidadesVulnerabilidades'
CREATE INDEX [IX_FK_Matriz_AmenazasVulnerabilidadesVulnerabilidades]
ON [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer]
    ([IdVulnerabilidad]);
GO

-- Creating foreign key on [IdAmenaza] in table 'Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
ADD CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoAmenazas]
    FOREIGN KEY ([IdAmenaza])
    REFERENCES [dbo].[AmenazasEstablecer]
        ([IdAmenaza])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_Matriz_TipoActivosAmenazasCriteriosRiesgoAmenazas'
CREATE INDEX [IX_FK_Matriz_TipoActivosAmenazasCriteriosRiesgoAmenazas]
ON [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
    ([IdAmenaza]);
GO

-- Creating foreign key on [IdAmenaza] in table 'Matriz_AmenazasVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[Matriz_AmenazasVulnerabilidadesEstablecer]
ADD CONSTRAINT [FK_Matriz_AmenazasVulnerabilidadesAmenazas]
    FOREIGN KEY ([IdAmenaza])
    REFERENCES [dbo].[AmenazasEstablecer]
        ([IdAmenaza])
    ON DELETE CASCADE ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdEmpresa] in table 'ActivosEmpresaEstablecer'
ALTER TABLE [dbo].[ActivosEmpresaEstablecer]
ADD CONSTRAINT [FK_ActivosEmpresaEmpresas]
    FOREIGN KEY ([IdEmpresa])
    REFERENCES [dbo].[EmpresasEstablecer]
        ([IdEmpresa])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ActivosEmpresaEmpresas'
CREATE INDEX [IX_FK_ActivosEmpresaEmpresas]
ON [dbo].[ActivosEmpresaEstablecer]
    ([IdEmpresa]);
GO

-- Creating foreign key on [IdTipoActivo] in table 'ActivosEmpresaEstablecer'
ALTER TABLE [dbo].[ActivosEmpresaEstablecer]
ADD CONSTRAINT [FK_ActivosEmpresaTiposActivos]
    FOREIGN KEY ([IdTipoActivo])
    REFERENCES [dbo].[TiposActivosEstablecer]
        ([IdTipoActivo])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ActivosEmpresaTiposActivos'
CREATE INDEX [IX_FK_ActivosEmpresaTiposActivos]
ON [dbo].[ActivosEmpresaEstablecer]
    ([IdTipoActivo]);
GO

-- Creating foreign key on [IdEmpresa] in table 'InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer]
ADD CONSTRAINT [FK_InstanciaTiposActivosAmenazasCriteriosRiesgoEmpresas]
    FOREIGN KEY ([IdEmpresa])
    REFERENCES [dbo].[EmpresasEstablecer]
        ([IdEmpresa])
    ON DELETE CASCADE ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdEmpresa] in table 'InstanciaTiposActivosVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer]
ADD CONSTRAINT [FK_InstanciaTiposActivosVulnerabilidadesEmpresas]
    FOREIGN KEY ([IdEmpresa])
    REFERENCES [dbo].[EmpresasEstablecer]
        ([IdEmpresa])
    ON DELETE CASCADE ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Empresa] in table 'UsuariosEstablecer'
ALTER TABLE [dbo].[UsuariosEstablecer]
ADD CONSTRAINT [FK_UsuariosEmpresas]
    FOREIGN KEY ([Empresa])
    REFERENCES [dbo].[EmpresasEstablecer]
        ([IdEmpresa])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_UsuariosEmpresas'
CREATE INDEX [IX_FK_UsuariosEmpresas]
ON [dbo].[UsuariosEstablecer]
    ([Empresa]);
GO

-- Creating foreign key on [IdTipoAmenaza] in table 'AmenazasEstablecer'
ALTER TABLE [dbo].[AmenazasEstablecer]
ADD CONSTRAINT [FK_TiposAmenazasAmenazas]
    FOREIGN KEY ([IdTipoAmenaza])
    REFERENCES [dbo].[TiposAmenazasEstablecer]
        ([IdTipoAmenaza])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_TiposAmenazasAmenazas'
CREATE INDEX [IX_FK_TiposAmenazasAmenazas]
ON [dbo].[AmenazasEstablecer]
    ([IdTipoAmenaza]);
GO

-- Creating foreign key on [IdControl] in table 'Matriz_Amenazas_ControlesEstablecer'
ALTER TABLE [dbo].[Matriz_Amenazas_ControlesEstablecer]
ADD CONSTRAINT [FK_Matriz_Amenazas_ControlesControles]
    FOREIGN KEY ([IdControl])
    REFERENCES [dbo].[ControlesEstablecer]
        ([IdControl])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_Matriz_Amenazas_ControlesControles'
CREATE INDEX [IX_FK_Matriz_Amenazas_ControlesControles]
ON [dbo].[Matriz_Amenazas_ControlesEstablecer]
    ([IdControl]);
GO

-- Creating foreign key on [IdAmenaza] in table 'Matriz_Amenazas_ControlesEstablecer'
ALTER TABLE [dbo].[Matriz_Amenazas_ControlesEstablecer]
ADD CONSTRAINT [FK_AmenazasMatriz_Amenazas_Controles]
    FOREIGN KEY ([IdAmenaza])
    REFERENCES [dbo].[AmenazasEstablecer]
        ([IdAmenaza])
    ON DELETE CASCADE ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdTipoEmpresa] in table 'EmpresasEstablecer'
ALTER TABLE [dbo].[EmpresasEstablecer]
ADD CONSTRAINT [FK_TipoEmpresaEmpresas]
    FOREIGN KEY ([IdTipoEmpresa])
    REFERENCES [dbo].[TipoEmpresaEstablecer]
        ([IdTipoEmpresa])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_TipoEmpresaEmpresas'
CREATE INDEX [IX_FK_TipoEmpresaEmpresas]
ON [dbo].[EmpresasEstablecer]
    ([IdTipoEmpresa]);
GO

-- Creating foreign key on [IdTipoEmpresa] in table 'PesoSectorTipoEmpresaEstablecer'
ALTER TABLE [dbo].[PesoSectorTipoEmpresaEstablecer]
ADD CONSTRAINT [FK_TipoEmpresaPesoSectorTipoEmpresa]
    FOREIGN KEY ([IdTipoEmpresa])
    REFERENCES [dbo].[TipoEmpresaEstablecer]
        ([IdTipoEmpresa])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_TipoEmpresaPesoSectorTipoEmpresa'
CREATE INDEX [IX_FK_TipoEmpresaPesoSectorTipoEmpresa]
ON [dbo].[PesoSectorTipoEmpresaEstablecer]
    ([IdTipoEmpresa]);
GO

-- Creating foreign key on [IdTipoEmpresa] in table 'PesoCifraNegocioEstablecer'
ALTER TABLE [dbo].[PesoCifraNegocioEstablecer]
ADD CONSTRAINT [FK_PesoCifraNegocioTipoEmpresa]
    FOREIGN KEY ([IdTipoEmpresa])
    REFERENCES [dbo].[TipoEmpresaEstablecer]
        ([IdTipoEmpresa])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_PesoCifraNegocioTipoEmpresa'
CREATE INDEX [IX_FK_PesoCifraNegocioTipoEmpresa]
ON [dbo].[PesoCifraNegocioEstablecer]
    ([IdTipoEmpresa]);
GO

-- Creating foreign key on [IdPregunta] in table 'PesoPreguntasTICEstablecer'
ALTER TABLE [dbo].[PesoPreguntasTICEstablecer]
ADD CONSTRAINT [FK_PesoPreguntasTICPreguntasTIC]
    FOREIGN KEY ([IdPregunta])
    REFERENCES [dbo].[PreguntasTICEstablecer]
        ([IdPregunta])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_PesoPreguntasTICPreguntasTIC'
CREATE INDEX [IX_FK_PesoPreguntasTICPreguntasTIC]
ON [dbo].[PesoPreguntasTICEstablecer]
    ([IdPregunta]);
GO

-- Creating foreign key on [IdTipoEmpresa] in table 'PesoPreguntasTICEstablecer'
ALTER TABLE [dbo].[PesoPreguntasTICEstablecer]
ADD CONSTRAINT [FK_PesoPreguntasTICTipoEmpresa]
    FOREIGN KEY ([IdTipoEmpresa])
    REFERENCES [dbo].[TipoEmpresaEstablecer]
        ([IdTipoEmpresa])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_PesoPreguntasTICTipoEmpresa'
CREATE INDEX [IX_FK_PesoPreguntasTICTipoEmpresa]
ON [dbo].[PesoPreguntasTICEstablecer]
    ([IdTipoEmpresa]);
GO

-- Creating foreign key on [IdSector] in table 'PesoSectorTipoEmpresaEstablecer'
ALTER TABLE [dbo].[PesoSectorTipoEmpresaEstablecer]
ADD CONSTRAINT [FK_SectoresPesoSectorTipoEmpresa]
    FOREIGN KEY ([IdSector])
    REFERENCES [dbo].[SectoresEstablecer]
        ([IdSector])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_SectoresPesoSectorTipoEmpresa'
CREATE INDEX [IX_FK_SectoresPesoSectorTipoEmpresa]
ON [dbo].[PesoSectorTipoEmpresaEstablecer]
    ([IdSector]);
GO

-- Creating foreign key on [IdSector] in table 'PesoCifraNegocioEstablecer'
ALTER TABLE [dbo].[PesoCifraNegocioEstablecer]
ADD CONSTRAINT [FK_SectoresPesoCifraNegocio]
    FOREIGN KEY ([IdSector])
    REFERENCES [dbo].[SectoresEstablecer]
        ([IdSector])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_SectoresPesoCifraNegocio'
CREATE INDEX [IX_FK_SectoresPesoCifraNegocio]
ON [dbo].[PesoCifraNegocioEstablecer]
    ([IdSector]);
GO

-- Creating foreign key on [IdSector] in table 'PesoPreguntasTICEstablecer'
ALTER TABLE [dbo].[PesoPreguntasTICEstablecer]
ADD CONSTRAINT [FK_SectoresPesoPreguntasTIC]
    FOREIGN KEY ([IdSector])
    REFERENCES [dbo].[SectoresEstablecer]
        ([IdSector])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_SectoresPesoPreguntasTIC'
CREATE INDEX [IX_FK_SectoresPesoPreguntasTIC]
ON [dbo].[PesoPreguntasTICEstablecer]
    ([IdSector]);
GO

-- Creating foreign key on [IdSector] in table 'EmpresasEstablecer'
ALTER TABLE [dbo].[EmpresasEstablecer]
ADD CONSTRAINT [FK_SectoresEmpresas]
    FOREIGN KEY ([IdSector])
    REFERENCES [dbo].[SectoresEstablecer]
        ([IdSector])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_SectoresEmpresas'
CREATE INDEX [IX_FK_SectoresEmpresas]
ON [dbo].[EmpresasEstablecer]
    ([IdSector]);
GO

-- Creating foreign key on [IdControl] in table 'ControlesEmpresaEstablecer'
ALTER TABLE [dbo].[ControlesEmpresaEstablecer]
ADD CONSTRAINT [FK_ControlesControlesEmpresa]
    FOREIGN KEY ([IdControl])
    REFERENCES [dbo].[ControlesEstablecer]
        ([IdControl])
    ON DELETE CASCADE ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdEmpresa] in table 'ControlesEmpresaEstablecer'
ALTER TABLE [dbo].[ControlesEmpresaEstablecer]
ADD CONSTRAINT [FK_ControlesEmpresaEmpresas]
    FOREIGN KEY ([IdEmpresa])
    REFERENCES [dbo].[EmpresasEstablecer]
        ([IdEmpresa])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ControlesEmpresaEmpresas'
CREATE INDEX [IX_FK_ControlesEmpresaEmpresas]
ON [dbo].[ControlesEmpresaEstablecer]
    ([IdEmpresa]);
GO

-- Creating foreign key on [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] in table 'InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer'
ALTER TABLE [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer]
ADD CONSTRAINT [FK_Matriz_TipoActivosAmenazasCriteriosRiesgoInstanciaTiposActivosAmenazasCriteriosRiesgo]
    FOREIGN KEY ([IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo])
    REFERENCES [dbo].[Matriz_TipoActivosAmenazasCriteriosRiesgoEstablecer]
        ([IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_Matriz_TipoActivosAmenazasCriteriosRiesgoInstanciaTiposActivosAmenazasCriteriosRiesgo'
CREATE INDEX [IX_FK_Matriz_TipoActivosAmenazasCriteriosRiesgoInstanciaTiposActivosAmenazasCriteriosRiesgo]
ON [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer]
    ([IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo]);
GO

-- Creating foreign key on [IdTipoActivo], [IdVulnerabilidad] in table 'InstanciaTiposActivosVulnerabilidadesEstablecer'
ALTER TABLE [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer]
ADD CONSTRAINT [FK_Matriz_TiposActivosVulnerabilidadesInstanciaTiposActivosVulnerabilidades]
    FOREIGN KEY ([IdTipoActivo], [IdVulnerabilidad])
    REFERENCES [dbo].[Matriz_TiposActivosVulnerabilidadesEstablecer]
        ([IdTipoActivo], [IdVulnerabilidad])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_Matriz_TiposActivosVulnerabilidadesInstanciaTiposActivosVulnerabilidades'
CREATE INDEX [IX_FK_Matriz_TiposActivosVulnerabilidadesInstanciaTiposActivosVulnerabilidades]
ON [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer]
    ([IdTipoActivo], [IdVulnerabilidad]);
GO

-- Creating foreign key on [IdAmenaza] in table 'AnalisisRiesgoEstablecer'
ALTER TABLE [dbo].[AnalisisRiesgoEstablecer]
ADD CONSTRAINT [FK_AmenazasAnalisisRiesgo]
    FOREIGN KEY ([IdAmenaza])
    REFERENCES [dbo].[AmenazasEstablecer]
        ([IdAmenaza])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_AmenazasAnalisisRiesgo'
CREATE INDEX [IX_FK_AmenazasAnalisisRiesgo]
ON [dbo].[AnalisisRiesgoEstablecer]
    ([IdAmenaza]);
GO

-- Creating foreign key on [IdActivo] in table 'AnalisisRiesgoEstablecer'
ALTER TABLE [dbo].[AnalisisRiesgoEstablecer]
ADD CONSTRAINT [FK_ActivosEmpresaAnalisisRiesgo]
    FOREIGN KEY ([IdActivo])
    REFERENCES [dbo].[ActivosEmpresaEstablecer]
        ([IdActivo])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ActivosEmpresaAnalisisRiesgo'
CREATE INDEX [IX_FK_ActivosEmpresaAnalisisRiesgo]
ON [dbo].[AnalisisRiesgoEstablecer]
    ([IdActivo]);
GO

-- Creating foreign key on [IdControl] in table 'AnalisisRiesgoEstablecer'
ALTER TABLE [dbo].[AnalisisRiesgoEstablecer]
ADD CONSTRAINT [FK_ControlesAnalisisRiesgo]
    FOREIGN KEY ([IdControl])
    REFERENCES [dbo].[ControlesEstablecer]
        ([IdControl])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ControlesAnalisisRiesgo'
CREATE INDEX [IX_FK_ControlesAnalisisRiesgo]
ON [dbo].[AnalisisRiesgoEstablecer]
    ([IdControl]);
GO

-- Creating foreign key on [IdInforme], [IdActivo], [IdControl], [IdAmenaza] in table 'PlanMejoraEstablecer'
ALTER TABLE [dbo].[PlanMejoraEstablecer]
ADD CONSTRAINT [FK_AnalisisRiesgoPlanMejora]
    FOREIGN KEY ([IdInforme], [IdActivo], [IdControl], [IdAmenaza])
    REFERENCES [dbo].[AnalisisRiesgoEstablecer]
        ([IdInforme], [IdActivo], [IdControl], [IdAmenaza])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdActivo] in table 'ActivosInformeEstablecer'
ALTER TABLE [dbo].[ActivosInformeEstablecer]
ADD CONSTRAINT [FK_ActivosEmpresaActivosInforme]
    FOREIGN KEY ([IdActivo])
    REFERENCES [dbo].[ActivosEmpresaEstablecer]
        ([IdActivo])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ActivosEmpresaActivosInforme'
CREATE INDEX [IX_FK_ActivosEmpresaActivosInforme]
ON [dbo].[ActivosInformeEstablecer]
    ([IdActivo]);
GO

-- Creating foreign key on [IdInforme] in table 'ActivosInformeEstablecer'
ALTER TABLE [dbo].[ActivosInformeEstablecer]
ADD CONSTRAINT [FK_InformesActivosInforme]
    FOREIGN KEY ([IdInforme])
    REFERENCES [dbo].[InformesEstablecer]
        ([IdInforme])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdInforme] in table 'AnalisisRiesgoEstablecer'
ALTER TABLE [dbo].[AnalisisRiesgoEstablecer]
ADD CONSTRAINT [FK_InformesAnalisisRiesgo]
    FOREIGN KEY ([IdInforme])
    REFERENCES [dbo].[InformesEstablecer]
        ([IdInforme])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdControl], [IdEmpresa] in table 'ControlesEmpresaInformeEstablecer'
ALTER TABLE [dbo].[ControlesEmpresaInformeEstablecer]
ADD CONSTRAINT [FK_ControlesEmpresaControlesEmpresaInforme]
    FOREIGN KEY ([IdControl], [IdEmpresa])
    REFERENCES [dbo].[ControlesEmpresaEstablecer]
        ([IdControl], [IdEmpresa])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_ControlesEmpresaControlesEmpresaInforme'
CREATE INDEX [IX_FK_ControlesEmpresaControlesEmpresaInforme]
ON [dbo].[ControlesEmpresaInformeEstablecer]
    ([IdControl], [IdEmpresa]);
GO

-- Creating foreign key on [IdInforme] in table 'ControlesEmpresaInformeEstablecer'
ALTER TABLE [dbo].[ControlesEmpresaInformeEstablecer]
ADD CONSTRAINT [FK_InformesControlesEmpresaInforme]
    FOREIGN KEY ([IdInforme])
    REFERENCES [dbo].[InformesEstablecer]
        ([IdInforme])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdEmpresa], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo] in table 'InstanciaTipactAmenCritriesgInformeEstablecer'
ALTER TABLE [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer]
ADD CONSTRAINT [FK_InstanciaTiposActivosAmenazasCriteriosRiesgoInstanciaTipactAmenCritriesgInforme]
    FOREIGN KEY ([IdEmpresa], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo])
    REFERENCES [dbo].[InstanciaTiposActivosAmenazasCriteriosRiesgoEstablecer]
        ([IdEmpresa], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_InstanciaTiposActivosAmenazasCriteriosRiesgoInstanciaTipactAmenCritriesgInforme'
CREATE INDEX [IX_FK_InstanciaTiposActivosAmenazasCriteriosRiesgoInstanciaTipactAmenCritriesgInforme]
ON [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer]
    ([IdEmpresa], [IdTipoActivo], [IdAmenaza], [IdCriterioRiesgo]);
GO

-- Creating foreign key on [IdInforme] in table 'InstanciaTipactAmenCritriesgInformeEstablecer'
ALTER TABLE [dbo].[InstanciaTipactAmenCritriesgInformeEstablecer]
ADD CONSTRAINT [FK_InformesInstanciaTipactAmenCritriesgInforme]
    FOREIGN KEY ([IdInforme])
    REFERENCES [dbo].[InformesEstablecer]
        ([IdInforme])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdEmpresa], [IdTipoActivo], [IdVulnerabilidad] in table 'InstanciaTipactVulnInformeEstablecer'
ALTER TABLE [dbo].[InstanciaTipactVulnInformeEstablecer]
ADD CONSTRAINT [FK_InstanciaTiposActivosVulnerabilidadesInstanciaTipactVulnInforme]
    FOREIGN KEY ([IdEmpresa], [IdTipoActivo], [IdVulnerabilidad])
    REFERENCES [dbo].[InstanciaTiposActivosVulnerabilidadesEstablecer]
        ([IdEmpresa], [IdTipoActivo], [IdVulnerabilidad])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_InstanciaTiposActivosVulnerabilidadesInstanciaTipactVulnInforme'
CREATE INDEX [IX_FK_InstanciaTiposActivosVulnerabilidadesInstanciaTipactVulnInforme]
ON [dbo].[InstanciaTipactVulnInformeEstablecer]
    ([IdEmpresa], [IdTipoActivo], [IdVulnerabilidad]);
GO

-- Creating foreign key on [IdInforme] in table 'InstanciaTipactVulnInformeEstablecer'
ALTER TABLE [dbo].[InstanciaTipactVulnInformeEstablecer]
ADD CONSTRAINT [FK_InformesInstanciaTipactVulnInforme]
    FOREIGN KEY ([IdInforme])
    REFERENCES [dbo].[InformesEstablecer]
        ([IdInforme])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdEmpresa] in table 'EmpresaInformeEstablecer'
ALTER TABLE [dbo].[EmpresaInformeEstablecer]
ADD CONSTRAINT [FK_EmpresasEmpresaInforme]
    FOREIGN KEY ([IdEmpresa])
    REFERENCES [dbo].[EmpresasEstablecer]
        ([IdEmpresa])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [IdInforme] in table 'EmpresaInformeEstablecer'
ALTER TABLE [dbo].[EmpresaInformeEstablecer]
ADD CONSTRAINT [FK_InformesEmpresaInforme]
    FOREIGN KEY ([IdInforme])
    REFERENCES [dbo].[InformesEstablecer]
        ([IdInforme])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_InformesEmpresaInforme'
CREATE INDEX [IX_FK_InformesEmpresaInforme]
ON [dbo].[EmpresaInformeEstablecer]
    ([IdInforme]);
GO

-- --------------------------------------------------
-- Script has ended
-- --------------------------------------------------